package org.aeon.newsmanagersystem.service;

import org.aeon.newsmanagersystem.pojo.News;
import org.aeon.newsmanagersystem.pojo.Topic;
import org.aeon.newsmanagersystem.pojo.other.PageInfo;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author: MissingAeon
 * @date: 2024/3/27 17:26
 * @description:
 */
// @Service
public interface NewsService {
    /**
     * 获取分页的数据
     *
     * @param page
     * @return
     */
    PageInfo<News, Topic> page(PageInfo<News, Topic> page);

    /**
     * 查看是否存在这个主题的新闻
     *
     * @param topic
     * @return
     */
    boolean exists(Topic topic);

    /**
     * 添加新闻，保存图片文件
     *
     * @param news
     * @param file
     * @return
     */
    boolean add(News news, MultipartFile file);

    /**
     * 通过id获取新闻
     *
     * @param nid
     * @return
     */
    News get(Integer nid);

    /**
     * 通过id删除新闻
     * 同时删除该新闻的所有评论
     *
     * @param nid
     * @return
     */
    int delete(Integer nid);

    /**
     * 修改新闻，重新保存图片文件
     * @param news
     * @param file
     * @return
     */
    boolean modify(News news, MultipartFile file);

}
